The advent of the computer has permitted dramatic increases in the capability to store and manipulate data. The development of computer networks, such as the Internet, has provided unprecedented access to data. However, the proliferation of data does not necessarily maximize the usefulness of that data. In fact, proliferation of data can, in some circumstances, even serve as an obstacle to clear understanding, such as by obscuring connections between data or burying the most relevant data among a large amount of irrelevant data.
Methods and systems are needed to assist users in making more effective use of data. One general way to make more effective use of data is to provide an organizational structure for the data. That is, data may be more easily understood if it is stored and presented according to a particular point of view. One way of representing an organizational structure or a point of view is a hierarchy. One example of such a hierarchy is a “drill down” hierarchy in which each level of a hierarchy represents related subcomponents of the next higher level of the hierarchy, with related elements of the various levels of the hierarchy being connected by lines or arrows. Representing data elements via a hierarchy can improve utilization of the data, because the data can be found, examined and manipulated based on its location in the hierarchy. For example, a simple hierarchy for personal information might include high level fields of “name” and “address,” with second level fields of “first, last and middle” for “name” and “street number, street name, city, state and zip code” for “address.” Systems and methods exist for storing data related to such a hierarchy. Creating connections between available data and the hierarchy categories while using the hierarchy to focus attention on the distinguishing features thus allows the user to impose some meaning on the data relative to other data related to the same hierarchy.
Conventional database systems and methods can be subject to a number of problems. Primarily, people change the data structures very slowly, many times as a means of implementing change controls. If the structures underlying the data can be built in such a way that based on one's focus area the data relationships show up differently, then the system can exhibit rigor in validating the storage of information while providing exceptional manipulation and analysis capabilities. Though current database technology supports different views of the same data, this is not the same as providing different contexts for acting on the data. Current technology provides views that act as censors, blotting out information considered irrelevant to the defined view.
It can be suggested that the same data may have dramatically different meaning and significance depending on the point of view of the person, group, or agent who is using the data. For example, a zip code might be highly relevant to a party wishing to send a letter but irrelevant to a party seeking driving directions to a particular location. Such a simple example may not present a major problem because the user can simply ignore the zip code, but when uses of the same data are in increasingly different contexts, conventional database methods and systems are increasingly ineffective at providing useful database functions for the different contexts. As a result, users typically build distinct databases for different uses of the data, even though the data content may overlap substantially.
What is needed is a system that permits the storage, retrieval and manipulation of a given set of data in different contexts. In particular, a system is needed that permits a user to establish a point of view, such as via a hierarchy, and that allows the user to retrieve, manipulate, and display data according to that point of view. Moreover, since a user's own point of view may change, the system should allow the user or users to establish multiple hierarchies or points of view and to use the hierarchies interchangeably regardless of the structure of the data in connection with the hierarchies. The system should also permit users to conveniently construct and modify hierarchies that can be of a wide variety of types and should not be limited to a single hierarchy or type of hierarchy.
Conventional search tools typically allow text- or string-based searching in which the user inputs a word or phrase, either in Boolean form or as an unstructured string, and in which the system outputs a document or a list of documents that are ranked according to conventional algorithms, such as weighting according to term frequency and inverse word frequency within a document. In such conventional systems, the input does not reflect any logical structure, particularly any hierarchical structure. In other search tools, the search must conform to the structure of the data that is being searched. The search may indirectly reflect the underlying structure of the data, but the search does not reflect the user's point of view to the same degree as would a hierarchy that establishes the user's point of view. Accordingly, a need exists for a system that permits the user to conduct a search and view results that reflect the unique requirements defined by the user's point of view.
In addition, a system that permits users to search other users' points of view and to integrate those points of view with those of the user can be beneficial. Users may also wish to have the system suggest other points of view as more profitable informational Points of View (iPOV's) than their own. The system should therefore be able to generate new iPOV's by permutating the existing and relevant iPOV's and electronic Bodies Of Knowledge (eBOK's).
Further, the system should permit use of hierarchies in different stages of data processing. A user should be able to create a representation of a point of view, to manage the point of view, to use the point of view to assist in clustering related information, and to use the point of view as a visualization tool with respect to data. Thus, hierarchical displays should be supported, as well as storage of hierarchical information and iPOV searches. Optimized searches require projects of hierarchical data into specialized forms allowing easy access to the data by multi-path search algorithms. Each of these features might be provided as a component linked to a conventional database system, or the components could be provided together as an integrated system.